// home模块的仓库
import { reqCategoryList, reqGetBannerList, reqGetFloorList } from '@/api'
// state：仓库存储数据的地方
const state = {
    // 默认初始值别瞎写，服务器返回对象，服务器返回数组。【根据接口返回值决定】
    categoryList: [],
    bannerList: [],
    floorList:[]
}
// mutations：修改state的唯一手段
const mutations = {
    CATEGORYLIST(state, categoryList) {
        state.categoryList = categoryList
    },
    GETBANNERLIST(state, bannerList) {
        state.bannerList = bannerList
    },
    GETFLOORLIST(state, floorList) {
        state.floorList = floorList
    }
}
// actions：处理action，可以书写自己的业务逻辑，也可以异步处理
const actions = {
    // 通过API里面的接口函数调用：向服务器发请求，获取数据
    async categoryList({ commit }) {
        let result = await reqCategoryList()
        if (result.code == 200)
            commit('CATEGORYLIST', result.data)
    },
    // 获取首页轮播图数据
    async getBannerList({ commit }) {
        let result = await reqGetBannerList()
        if (result.code == 200)
            commit('GETBANNERLIST', result.data)
    },
    //获取floor的数据
    async getFloorList({ commit }) {
        let result = await reqGetFloorList()
        if (result.code == 200)
            commit("GETFLOORLIST", result.data)
    }
}
// getters：理解为计算属性，用于简化仓库数据，让组件获取仓库的数据更加方便
const getters = {}
export default {
    state,
    mutations,
    actions,
    getters
}